Bi-stable displays, such as electrophoretic displays (EPDs), typically operate to produce an image using a field or array of pixels, wherein each pixel has a reflection state that is either black (a least reflective state) or white (a most reflective state) or some reflective state in-between these two extremes (a gray level state). Bi-stable displays having pixel elements that can take on more than two states (gray levels) typically use a number of reflective states that is a power of two, e.g., four, eight, sixteen, etc. During operation, the pixel elements of bi-stable displays, such as EPDs, are driven to a new reflection state by the combination of the voltage applied to a set of transistor electrodes associated with the pixel elements and time. In particular, the reflection state of a pixel element of an EPD is not able to change instantaneously because the reflection state of the pixel element is based on the position of a reflective material (e.g., a microcapsule) within an electromagnetic field or between two electrically charged electrodes, which position changes relatively slowly (non-instantaneously) over time in response to a change in a voltage differential being applied between the two electrodes. Thus, the reflective state (DR) of an EPD pixel element is a function of the voltage (V) between the pixel electrodes and the derivative of time (Dt) in the form of DR=V×Dt.
In order to refresh an EPD or other bi-stable display from a first image to a second image, each of the pixel elements of the display is driven from a first reflection state (associated with the first image) to a second reflection state (associated with the second image) over an image refresh time, also referred to as an image refresh cycle, typically on the order of 600 milliseconds. Each image refresh cycle is made up of a number of (e.g., 30) frame times or frame cycles (also called frame scans) during which each pixel element of the display is or can be provided a new voltage level. More particularly, the frame time is a measure of the amount of time that it takes to change the voltage at every pixel element of the display, and is thus the time it takes to scan all of the rows (i.e., gates) of the display once. The frame time for typical EPDs is 20 ms (corresponding to a scan rate of 50 Hz).
Generally speaking, during each frame cycle, a display driver turns each row of pixel elements of a display on, in sequence, by providing (via a gate line associated with a row of pixel elements) a turn-on voltage to the gate electrodes of the transistors associated the pixel elements in that row. At this time, the display driver also sets the voltage at the source electrode of each of the transistors within the row of pixel elements to a new voltage state via a set of source lines. The display driver cycles through all of the rows of pixel elements once in series during each frame scan thereby providing a controlled voltage to each pixel element. When an image refresh cycle is made up of 30 frame cycles, the voltage at each pixel element can be changed 30 times over the course of driving the pixel element from one reflection state to another reflection state within a single image refresh cycle.
The manner in which the voltage state or voltage level provided at the source electrode of each pixel element is changed between the different scans within an image refresh cycle is based on a recipe that defines the voltage levels to be provided to a pixel element at each of the different frame times (scans) within an image refresh cycle to thereby effectively cause that pixel element to go from one particular reflection state (associated with the old image) to another particular reflection state (associated with a new image). Thus, the recipe specifies or determines the voltages that are to be provided to a pixel element transistor during successive frame times or scans of an image refresh cycle such that a different average or effective voltage (V) is or can be supplied via the source electrode of the transistor of each pixel element in the display panel over the number of scans of the image refresh cycle. The recipe is configured to assure that the pixel element is correctly driven to a new reflection state associated with the average voltage. Typically, in most driving circuits, only three different voltages are allowed on the source electrodes of the pixel transistors, e.g., −15V (white), 0V (stay) and +15V (black). As a result, the recipe is used to create an average voltage, over time, at the transistor output that matches the desired gray level. This voltage source limitation is made to simplify the column (i.e., source) driver integrated circuits (ICs) as it can be difficult to design a driving IC that is able to provide a significant number of different voltage levels to the source electrodes of the pixel transistors. However, some bi-stable stable displays, such as EPDs, may have 4, 8, 16, etc., reflection states, and thus need an increased number of voltage states, which, as noted above, are created by the voltage averaging action of the recipe.
In order to implement the image driving methodology discussed above, EPDs typically use a double image buffer on the driving IC or chip, to update the image on the display. Such a double image buffer includes a first image buffer that stores voltage values or pointers for the voltage values (e.g., gray level, voltage level, etc.) of each of the pixel elements of the old image and a second image buffer that stores the values or pointers for voltage values for each of the pixel elements of the new image to be written to the display. Thus, the first image buffer contains the levels of the current image on the display, while the second image buffer contains the gray levels of the new image to which the display is to be driven. During operation, the two images are compared, on a pixel-by-pixel basis, by hardware on the driving IC, and the difference between the two images, on a pixel-by-pixel basis, determines the recipes that the driver IC uses to supply voltage to the source electrodes of the pixel element transistors to turn the old image into the new image. This operation is different from all other conventional displays, like liquid crystal displays (LCDs) or organic light emitting displays (OLEDs), that all have only one image buffer containing the current or new image data that is replicated on the screen at a high frequency (typically at 50 Hz). The reason for this difference is that EPDs are bi-stable (or actually multi-stable), meaning that the last image will remain on the screen even when the power is turned off. Therefore a new image always has to be created by starting with the old image and driving the image pixels in an effective manner based on the difference between the pixel state of the old image and the pixel state of the new image.
However, as noted above, this methodology requires a driving IC that has two complete image buffers, wherein each image buffer has a number of storage elements equal to the number of pixels, with each storage element having a size determined by the number of reflection states (gray levels) to which any of the pixel elements may be driven. For, example, the two state system referred to above needs a 1 bit memory for each pixel element in each of the image buffers, while a 16 gray level system needs a four bit memory (i.e., a byte of memory) for each pixel element of the display for each image buffer. Moreover, the look-up table, which may also be located on the driving IC needs to have a number of recipes equal to the square of the number of gray states.
In some cases, however, it can be more expensive (in terms of cost, complexity and size on the driving IC) to provide two complete image buffers on the driving IC. For example, driving ICs that are able to provide a significant number of different gray levels, e.g., associated with a 4, 8, 16, etc., gray level display, can be limited in space. Moreover, it is more difficult to provide memory on these ICs. As such, many simple EPD driving ICs have only have a single image frame buffer. These driving ICs are typically used in lower resolution displays, such as shelving displays that are typically used to provide electronic pricing information, product information, etc.
For driving ICs that only have a single image buffer, it is typical to drive the display in a manner that blanks or erases the entirety of the old image prior to driving the pixels elements to the gray levels associated with the new image. In other words, using these types of ICs, it is typical to use a first part of the image refresh cycle (e.g., half of the frame times or frame cycles) to drive each pixel element to a known state, called an erase state, which is typically all white or all black. The IC may use a different recipe for blanking or erasing each possible gray level value of the old image, and thus the IC may only need a number of recipes that equals the number of gray levels, e.g., four recipes for a four gray level system, 16 recipes for a 16 gray level system, etc. The image buffer may be loaded with a pointer to one of these recipes (or to a memory location within a look-up table that stores or points to one of these recipes) during the first half of the image refresh cycle, called an erase phase. Thereafter, during the second half of an image refresh cycle (called a write phase), the IC drives the pixel elements of the display from the known erase or blank state to the new gray level states as specified by the new image. Here again, the IC may use a different recipe for going from the known erase state to each of the possible gray level values of the new image (and thus the IC may again need a number of recipes that equals the number of gray levels, e.g., four recipes for a four gray level system, 16 recipes for a 16 gray level system, etc.) During this time, the image buffer may be loaded with a pointer to one of these recipes (or to a memory location within a look-up table that stores or points to one of these recipes). However, in this case, the comparison used to identify the recipe is performed in hardware on the driving IC.
While this methodology is very judicious in terms of usage of the image buffer memory, this methodology requires that the entire image be blanked or erased at the same time during each image refresh cycle. This feature provides an image refresh that can appear to be flashing, or not as smooth, as the image refresh methodology performed in systems that have two image frame buffers. Moreover, this methodology always takes between half and the full amount of the image refresh time (e.g., 600 ms) to completely refresh the display and is thus slower, on average, than systems that use a two image buffer in which, in many instances, pixel elements can be driven from the first reflective state associated with the old image to the second reflective state associated with the new image in less than half the image refresh cycle time. Again, this slower transition is more noticeable to a user. The flashing and slower changing display can, at times be noticeable to a user, and makes the image update process using a single image buffer appear to be less clean or crisp than that to that which users have become accustomed.